package com.manli.wechat.pojo;

import org.aspectj.weaver.AjAttribute.PrivilegedAttribute;

import lombok.Data;

/**
 * 微信支付-现金红包
 * @author Shensg
 *
 * 2020年4月9日
 */
@Data
public class WechatPayCashRedBao {
	//随机字符串，不长于32位
	public String nonce_str;
	//签名
	private String sign;
	//商户订单号
	private String mch_billno;
	//商户号
	private String mch_id;
	//公众账号appid
	private String wxappid;
	//商户名称 红包发送者名称
	private String send_name;
	//用户openid
	private String re_openid;
	//付款金额 付款金额，单位分
	private int total_amount;
	//红包发放总人数
	private int total_num;
	//红包祝福语
	private String wishing;
	//Ip地址 调用接口的机器Ip地址
	private String client_ip;
	//活动名称
	private String act_name;
	//备注
	private String remark;
	//场景id 
	/**
	 * 发放红包使用场景，红包金额大于200或者小于1元时必传

		PRODUCT_1:商品促销
		
		PRODUCT_2:抽奖
		
		PRODUCT_3:虚拟物品兑奖 
		
		PRODUCT_4:企业内部福利
		
		PRODUCT_5:渠道分润
		
		PRODUCT_6:保险回馈
		
		PRODUCT_7:彩票派奖
		
		PRODUCT_8:税务刮奖
	 */
	private String scene_id;
	//活动信息
	/**
	 * posttime:用户操作的时间戳

mobile:业务系统账号的手机号，国家代码-手机号。不需要+号

deviceid :mac 地址或者设备唯一标识 

clientversion :用户操作的客户端版本

把值为非空的信息用key=value进行拼接，再进行urlencode

urlencode(posttime=xx& mobile =xx&deviceid=xx)
	 */
	private String risk_info;
	
	private String amt_type;
	
	public  String getXmlInfo() {
		String xmlInfo = "";
		
		xmlInfo = "" +
				"<xml>" + 
				
				"<sign>"+this.sign+"</sign>" + 
				
				"<mch_billno>"+this.mch_billno+"</mch_billno>" + 
				
				"<mch_id>"+this.mch_id+"</mch_id>" ;
		
		//裂变红包专用 
		if(this.amt_type != null) {
			xmlInfo+="<amt_type>"+this.amt_type+"</amt_type>" ;
		}
		
		xmlInfo+=		
				"<wxappid>"+this.wxappid+"</wxappid>\r\n" + 
				
				"<send_name>"+this.send_name+"</send_name>\r\n" + 
				
				"<re_openid>"+this.re_openid+"</re_openid>\r\n" + 
				
				"<total_amount>"+this.total_amount+"</total_amount>\r\n" + 
				
				"<total_num>"+this.total_num+"</total_num>\r\n" + 

				"<wishing>"+this.wishing+"</wishing>\r\n" + 

				"<client_ip>"+this.client_ip+"</client_ip>\r\n" + 

				"<act_name>"+this.act_name+"</act_name>\r\n" + 

				"<remark>"+this.remark+"</remark>\r\n" + 

				"<scene_id>"+this.scene_id+"</scene_id>\r\n" + 

				"<nonce_str>"+this.nonce_str+"</nonce_str>\r\n" ;
		
		if(this.risk_info != null) {
			xmlInfo+="<risk_info>"+this.risk_info+"</risk_info>\r\n"  ;
		}
				
		xmlInfo+="</xml>";
		
		
		
		
		return xmlInfo;
	}
}
